#初始化三个银行账户信息
#number-卡号；name-姓名；password-密码；left-余额
account=[
	{'number':'000001','name':'小明','password':'111111','left':10000},
    {'number':'000002','name':'小红','password':'222222','left':20000},
    {'number':'000003','name':'小强','password':'333333','left':100000}
	]
#用于展示卡号、姓名、密码和余额等账户信息的函数
def showaccount(x):
    print('|{0:<10}|{1:<10}|{2:<10}|{3:<10}'.format('卡号','姓名','密码','余额'))
	#遍历account列表的第x个字典的所有键
    for k in account[x].keys():
        print('|',account[x][k],end='      ')

#ATM登陆系统
while True:
    print('='*18,'自动取款系统','='*18)
	
    print('{0:<25}{1:<}'.format('1.登陆','2.退出'))
    print('='*50)
    a=int(input('请选择操作:'))
	#选择登陆系统
    if a==1:
        print('*'*2,'模拟系统卡号为000001～000003','*'*2)
        print('*','模拟系统密码为6个卡号最后一位数字','*')
        print('='*50)
        b=input('请输入卡号:')
        c=input('请输入密码:')
        #遍历account列表中的每一个字典，即每一个账户
        for i in range(len(account)):
            #银行卡号与密码正确，即银行卡号和密码在同一个账户信息中
            if b in account[i].values() and c in account[i].values():
                #调用函数，展示该用户的账户信息
                showaccount(i)
                print()
                print('='*50)
                print('{0:>8}{1:>16}'.format('1.存款','2.取款'))
                d=int(input('请选择操作:'))
                #选择对账户进行存款操作
                if d==1:
                    deposit=int(input('请输入金额:'))
                    account[i]['left']+=deposit
                #选择对账户进行取款操作
                elif d==2:
                    withdraw=int(input('请输入金额:'))
                    #e-最大取款额
                    e=account[i]['left']
                    account[i]['left']-=withdraw
                    #取钱额大于账户余额，则取出全部账户余额
                    if account[i]['left']<=0:
                        account[i]['left']=0
                        print('余额不足，仅可取出{}元'.format(e))
                #选项输入有误        
                else:
                    print('请输入1或2')
                print('='*50)
                showaccount(i)
                print()
                #查询了账户并完成了存取操作，退出查找账户循环
                break
        #卡号与密码不对应
        else:
            print('卡号或密码有误，请重新输入')
    #选择退出系统        
    elif a==2:
        break
    #选项输入有误
    else:
        print('请输入1或2')
		
	

